package com.aiwiown.face.domain;

import com.aiwiown.face.ApiObject;
import com.aiwiown.face.domain.params.ApiParamType;
import com.aiwiown.face.domain.params.ReturnImage;
import com.aiwiown.face.internal.mapping.ApiField;

import java.io.File;

/**
 * <pre>
 * </pre>
 * RawValidateVideoModel
 * Date: 2020/5/12 0012
 * Time: 13:55
 *
 * @author tang.xiaosheng@qq.com
 */
public class RawValidateVideoModel extends ApiObject {
    private static final long serialVersionUID = -3197306926985554245L;

    /**
     * 调用Raw-GetRandomNumber API返回的token_random_number。
     * <p>
     * 注意：Token有效期为24小时
     */
    @ApiField("token_random_number")
    private String tokenRandomNumber;

    /**
     * 需用户上传的视频，视频要求为ffmpeg所支持的格式及码率，视频时长为3~6秒，容量不大于20MB。
     */
    @ApiField(value = "video", paramType = ApiParamType.FILE)
    private File video;

    /**
     * 用于标志一次验证流程，不超过128字符。
     * 如果要使用此参数，强烈建议对一次验证流程中调用的API（比如Raw-GetRandomNumber、Raw-ValidateVideo、Raw-Verify）使用同一个biz_no，
     * 对不同的验证流程使用不同的biz_no。
     */
    @ApiField("biz_no")
    private String bizNo;

    /**
     * 此参数为可选参数，决定了是否返回从视频中截取的最佳质量图像：
     * <p>
     * 0（默认）：不需要图像
     * 1：需要返回最佳质量图 (仅当API调用成功后才返回)
     */
    @ApiField(value = "return_image", paramType = ApiParamType.ENUM)
    private ReturnImage returnImage;

    public String getTokenRandomNumber() {
        return tokenRandomNumber;
    }

    public void setTokenRandomNumber(String tokenRandomNumber) {
        this.tokenRandomNumber = tokenRandomNumber;
    }

    public File getVideo() {
        return video;
    }

    public void setVideo(File video) {
        this.video = video;
    }

    public String getBizNo() {
        return bizNo;
    }

    public void setBizNo(String bizNo) {
        this.bizNo = bizNo;
    }

    public ReturnImage getReturnImage() {
        return returnImage;
    }

    public void setReturnImage(ReturnImage returnImage) {
        this.returnImage = returnImage;
    }
}
